home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group95a.txt
/
000015_icon-group-sender _Tue Jan 17 18:25:59 1995.msg
< prev
next >
Wrap
Internet Message Format
|
1995-02-09
|
3KB
Received: by cheltenham.cs.arizona.edu; Tue, 17 Jan 1995 12:39:56 MST
To: icon-group-l@cs.arizona.edu
Date: Tue, 17 Jan 1995 18:25:59 GMT
From: goer@quads.uchicago.edu (Richard L. Goerwitz)
Message-Id: <1995Jan17.182559.19519@midway.uchicago.edu>
Organization: University of Chicago
Sender: icon-group-request@cs.arizona.edu
References: <1995Jan13.022725.13714@netlabs.com>, <1995Jan14.064053.21850@midway.uchicago.edu>, <1995Jan17.074644.849@netlabs.com>
Reply-To: goer@midway.uchicago.edu
Subject: Re: HTML Management Project - best lang tcl/perl/rexx?
Errors-To: icon-group-errors@cs.arizona.edu
In <1995Jan17.074644.849@netlabs.com> lwall@netlabs.com (Larry Wall) writes:
>
>I can't speak for Icon, though my impression is that Icon development
>is relatively moribund, due primarily to the reluctance of its author
>to develop Icon further or to interface it with the real world.
Icon is just one of those great ideas in language design. All of those
scalar vs. array contexts in Perl are simply and effectively replaced in
Icon by the notion of a generator. Unlike Perl, where conditionals look
for zero or '', Icon uses succeed/fail. The problem with using 0 or ''
is that often 0 is meaningful (e.g., where array indexes are involved).
So you have to know, in each case, whether to check for zero or something
else. Succeed/fail semantics coupled with the notion of a generator make
certain operations very, very simple and elegant (e.g., tell me if any
element inside this structure is an integer greater than 255, and if so,
please assign it the value of 255 - oh, and do it globally, for all elem-
ents in that structure):
every !a >:= 255
Even the Icon grammar itself is great. You can summarize nearly every-
thing you need to know about precedences and evaluation orders in less
than a page. And Icon isn't a small language. In the Camel book, you
have to hunt around. And in the back you have to weed through a syn-
tax summary. As far as string processing goes, Icon has all of the
advantages of Snobol, and none of its deficits. Its scanning facilities
are much more powerful than regexps, and more flexible to boot (though
they are less compact).
Of course, I'd be the first to admit that Perl is a better system ad-
ministration tool than Icon, and that it interfaces with the outside
better. And Perl is certainly more familiar to all of those people do-
ing shell programming, sed, awk, etc. And the fact that Perl implements
all the POSIX locale stuff (along with discussion of wide and multi-
byte characters) makes it the logical choice for future CGI scripts
(when HTML 3.0, Unicode, and <LANG> tags are finally all meshed). Still
the very fact that Perl 5 shows so much consolidation demonstrates that
even in the supposedly diffuse world of Perl, clean design carries with
it a certain weight.
So I'm not trying to criticize Perl. Perl is here to stay. And it is
destined for much greater popularity than Icon. I'd just like to note
that there's something to be said for Icon. It has an important niche.
And there are a lot of ideas there that are worth noting.
--
Richard L. Goerwitz *** goer@midway.uchicago.edu